#ifndef _KYLIN_ACTIVATION_DEFINITION_H_
#define _KYLIN_ACTIVATION_DEFINITION_H_

#ifndef _KYLIN_ACTIVATION_H_

#define NO_ERROR 0
#define LICENSE_VERIFY_ERROR 1		// 无LICENSE文件或LICENSE文件无法通过签名验证
#define LICENSE_DATA_FORMAT_ERROR 2	// LICENSE文件内容格式错误
#define LICENSE_SERIAL_ERROR 3		// LICENSE文件没有序列号
#define KYINFO_ERROR 4			// 无有效的麒麟信息文件
#define REGISTER_CREATION_ERROR 5	// 注册码生成失败
#define REGISTER_DEAL_HYPHEN_ERROR 6	// 注册码处理失败
#define QRCODE_CREATION_ERROR 7		// 二维码字符串生成失败
#define ACT_CODE_DEAL_HYPHEN_ERROR 8	// 激活码处理失败
#define INVALID_ACT_CODE 9		// 无效的激活码
#define ACT_CODE_HAS_EXPIRED 10		// 激活码所包含到期时间已过期
#define ACT_EXPIRE_EARLIER_THAN_TRIAL 11	// 激活码包含的到期时间早于试用期到期时间
#define ACT_EXPIRE_EARLIER_THAN_ORIGINAL 12	// 激活码包含的到期时间早于系统已有激活码到期时间
#define ACT_CODE_SAVE_ERROR 13		// 激活码保存失败，程序可能不是root用户权限执行的，程序需要以root用户权限执行。或者文件系统只读
#define NO_VALID_PUBLIC_KEY 14		// 无有效的公钥。这个很有可能是系统时间不对导致的。
#define SYSTEM_TIME_ERROR   15		// 系统时间有问题。
#define GPGME_INITIALIZATION_ERROR 16	// gpgme初始化失败
#define HARDWARE_INFORMATION_ERROR 17	// 在不同的情况下，由不同的含义。例如在获取注册码时，为“无法生成注册码”；在激活时，为“无法进行激活”；在查询激活状态时，为“无法获取激活状态”。
#define LICENSE_NO_CLASS_ERROR 18
#define LICENSE_CLASS_MATCH_ERROR 19
#define NO_UKEY_FOUND 20
#define UKEY_LOGIN_ERROR 21
#define UKEY_GET_DATA_ERROR 22
#define UKEY_GET_HID_ERROR 23
#define UKEY_KEY_FILE_ERROR 24
#define UKEY_NO_SERIAL 25
#define UKEY_NO_EXPIRE_TIME 26
#define UKEY_MODULE_COUNT_ERROR 27
#define UKEY_MODULE_CHECK_ERROR 28
#define UKEY_MODULE_DECREASE_ERROR 29
#define UKEY_MODULE_NO_MORE_COUNT 30
#define UKEY_SPACE_FULL 31
#define UKEY_MODULE_IS_ZERO 32
#define UKEY_MODULE_CANNOT_REDUCE 33
#define UKEY_WRITE_DATA_ERROR 34
#define INVALID_REGISTER_CODE 35
#define UKEY_LOGOFF_ERROR 36
#define UKEY_LIBRARY_LOAD_ERROR 37
#define SERIAL_NUMBER_MATCH_ERROR 38
#define UKEY_EXPIRE_DEAL_HYPHEN_ERROR 39
#define UKEY_ACTIVATE_SYSTEM_FAILED 40
#define HAS_NORMALLY_ACTIVATED 41
#define HAS_ACTIVATED_WITH_ANOTHER_UKEY 42
#define UKEY_INIT_ERROR 43
#define UKEY_CONTENT_ERROR 44
#define GPGME_ENCRYPT_ERROR 45
#define INVALID_SIGNATURE 46
#define NON_KYLIN_PACKAGE 47
#define MODIFIED_FILE_ERROR 48

#define LICENSE_LOAD_ERROR 49
#define SIGSUM_RED_ERROR 50
#define BAD_SIGNATURE_ERROR 51
#define SIGNATURE_STATUS_ERROR 52
#define LICENSE_NO_SIGNATURE 53

#define NON_KYLIN_PACKAGE 47
#define MODIFIED_FILE_ERROR 48

#define LICENSE_LOAD_ERROR 49
#define SIGSUM_RED_ERROR 50
#define BAD_SIGNATURE_ERROR 51
#define SIGNATURE_STATUS_ERROR 52
#define LICENSE_NO_SIGNATURE 53

#define LICENSE_STRING_LOAD_ERROR 54
#define LICENSE_STRING_VERIFY_ERROR 55
#define LICENSE_CHECKSUM_ERROR 56
#define LICENSE_NO_VERSION_ERROR 57
#define LICENSE_NO_PLATFORM_ERROR 58

#define BASE64_LENGTH_ERROR 59
#define BASE64_CHAR_ERROR 60
#define BASE64_ENDING_ERROR 61
#define BASE64_ENCODE_ERROR 62
#define BASE64_DECODE_ERROR 63
#define TRANSFORM_CHAR_ERROR 64
#define TRANSFORM_FROM_URL_ERROR 65
#define TRANSFORM_PARSE_ERROR 66
#define TRANSFORM_TO_URL_ERROR 67
#define SSL_ENCRYPT_ERROR 68
#define SSL_DECRYPT_ERROR 69
#define INFO_ENCRYPT_ERROR 70
#define INFO_DECRYPT_ERROR 71
#define SERIAL_NUMBER_VALIDATION_ERROR 72
#define NO_SERIAL_NUMBER_ERROR 73
#define INVALID_OVERWRITE_SERIAL_NUMBER_ERROR 74

#define LICENSE_SERIAL_NUMBER_VALIDATION_ERROR 75
#define UKEY_SERIAL_NUMBER_VALIDATION_ERROR 76
#define PRODUCT_TYPE_MATCH_ERROR 77

#define LICENSE_PLATFORM_MATCH_ERROR 78

#define PRODUCE_NUMBER_MATCH_ERROR 79

#define ACTIVATION_SERIAL_NUMBER_MATCH_ERROR 80

#define OTHER_ERROR 100

#endif
#endif
